草庐IT

TypeScript 命名空间

全部标签

javascript - 使用 ES6 模块的 TypeScript 的最佳方法是什么?

我正在开始一个新的Web项目并尝试使用TypeScript,主要作为ES6转译器,但也有类型检查的额外好处,特别是对于现有的库,例如jQuery结合了DefinitelyTyped类型定义。从最新版本开始,TypeScript既支持自己的内部模块,也支持ES6模块,后者称为“外部”模块。因为ES6比TypeScript更标准,所以我打算使用ES6/外部模块而不是传统/内部TypeScript模块。我在多个文件/模块中定义了自己的代码,但我希望构建生成一个我可以从浏览器加载的.js文件。问题是,据我所知,TypeScript在使用自己的模块格式时只能生成单个输出文件。如果我尝试使用ES6

javascript - typescript + react : defining defaultProps correctly

假设您这样定义组件:interfaceIProps{req:string;defaulted:string;}classCompextendsReact.Component{staticdefaultProps={defaulted:'test',};render(){const{defaulted}=this.props;return({defaulted.toUpperCase()});}}当你想使用它时,TypeScript需要你的defaultedprop,即使它是在defaultProps中定义的://ERROR:TypeScript:prop'defaulted'isreq

javascript - 为什么 react-tap-event-plugin 在我的 TypeScript 项目中不起作用?

我正在尝试使用material-ui和react-tap-event-plugin但在加载应用程序时出现此错误:react-dom.js:18238Warning:Unknownprop`onTouchTap`ontag.Removethispropfromtheelement.Fordetails,seehttps://....inbutton(createdbyEnhancedButton)inEnhancedButton(createdbyIconButton)inIconButton(createdbyAppBar)indiv(createdbyPaper)inPaper(cr

javascript - 如何使用 webpack 配置 pm2 以进行 typescript 编译和重新加载?

是否有任何样板代码可以将pm2与webpackwatch选项一起用于ts文件自动热重载?pm2startindex.js有助于直接运行,但是如何在执行之前添加多个任务,例如使用webpack和pm2从dist文件夹中监视文件和自动重新加载? 最佳答案 经过大量考虑性能的研究后,我终于坚持了这一点,我可能会添加实时重新加载,这是待办事项。但目前还不是优先事项。scripts":{"build":"webpack--configwebpack.config.js--watch","pm2":"pm2start./dist/server.

javascript - 为什么在 TypeScript 中使用三等号 (===)?

在JavaScript中,使用===而不是==通常被视为最佳实践,原因显而易见且众所周知。在TypeScript中,哪个是首选?有没有一种比另一种更可取?恕我直言,在TypeScript中使用===没有意义,因为比较已经只适用于相同的类型,因此你不会有(或多或少有趣的)强制游戏纯JavaScript。如果暂时不考虑与JavaScript的兼容性,TypeScript甚至可以摆脱===,不是吗? 最佳答案 简短版:==可以进行意想不到的类型转换,在Javascript中1=="1"是true。===运算符避免了这种情况。使用===比较

javascript - 命名函数在 JavaScript 中被低估了吗?

以jQuery框架为例,如果你运行这样的代码:$(document).ready(functioninit(){foo.bar();});您在Firebug中获得的堆栈跟踪将如下所示:init()anonymous()anonymous([function(),init(),function(),4more...],function(),Objectname=args)anonymous()anonymous()如您所见,它的可读性不是很好,因为您必须单击每个函数才能了解它是什么。匿名函数还会在探查器中显示为(?)(),并且它们会导致“cannotaccessoptimizedclos

javascript - 重命名 Typescript 文件

可能是我遗漏了一些东西(或者可能是我太累了:P)。在VisualStudio2012的Typescript项目中,当我重命名一个ts文件时,它不会重命名与该ts文件链接的js文件,而是创建一个新文件。例如:旧情况:(file1.ts-->file1.js)重命名后:(file1337.ts-->file.js)+file1337.js//file1337不包含在项目中,我需要手动完成...那么有没有一种方法可以同时重命名ts文件和直接链接到这个文件的js,而不需要新建一个,而不必在项目中手动添加新的js文件?谢谢 最佳答案 我发现如

c# - 在 JavaScript/TypeScript 中实现 IEnumerable

我正在尝试在JavaScript/TypeScript中实现C#关键字yield(无论哪个):例如,我想实现thecode://usingSystem.Collections;//usingSystem.Diagnostics;publicstaticvoidProcess(){//Displaypowersof2uptotheexponentof8:foreach(intnumberinPower(2,8)){Debug.Write(number.ToString()+"");}//Output:248163264128256}publicstaticIEnumerablePower

javascript - 声明后执行命名函数

我知道这可以用于匿名函数(functiontoBeExecutedImmediately(){//Code}());我有一个函数想在其他地方使用,但也应该立即执行。是否可以用一个语句而不是下面的语句来做到这一点?不需要返回值。functiontoBeExecutedImmediately(){//Code};toBeExecutedImmediately(); 最佳答案 Isitpossibletodoitwithonestatementinsteadofthefollowing?没有。正如您所发现的,命名函数表达式(您的第一个示例

javascript - TypeScript - 她一定要拥有它? (它 == 全局范围)

我正在将Angular应用程序转换为使用TypeScript,但这是一个一般的TypeScript问题,与Angular无关。Angularjs文件是沿着这些线的:(function(){varapp=angular.module('myModule',[]);app.controller('myController',['$scope',function($scope){$scope.myNewProperty="Bob";}]);})();我已将其转换为可爱的TypeScript类语法:classmyController{constructor($scope){$scope.myN